The present invention relates generally to server systems for implementing distributed cryptographic protocols, and more specifically to server systems providing proactive security in such protocols.
Protecting information is essential in the digital economy. A common way to protect data is to use cryptographic protocols to process the data in some way, but it is then necessary to protect the state information for such protocols. This state information comprises the secret values, such as cryptographic keys, used by servers which implement the cryptographic algorithms. To reduce exposure to offline attack through server compromise, cryptographic protocols may be implemented in a distributed fashion. In distributed protocols, a plurality of servers communicate via a network to collectively implement the protocol. This enhances security because protocol operation requires cooperation of more than one server, so more than one server must be hacked for the protocol to be subverted. It is common practice, for example, to distribute (secret share) cryptographic keys between a plurality of servers which can perform operations with the shared key in a distributed fashion to collectively implement some protocol. Cryptography offers a rich body of distributed protocols including secret sharing schemes, signature schemes and encryption schemes, as well as more advanced protocols such as threshold password-authenticated secret sharing schemes.
Resistance against server compromise is one thing, but knowing how to recover from such an event is another. In cryptographic literature, recovery from compromise is known as proactive security, or security against transient corruptions. Known schemes with proactive security allow a secret key to be refreshed by periodically re-sharing the key among the servers. The servers engage in an interactive refresh protocol to re-compute their key-shares for each new time period in operation of the distributed protocol.